
package io.fredia.femicro.tool.oss.cloud;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import io.fredia.femicro.tool.config.CloudStorageConfig;
import io.fredia.femicro.tool.oss.constants.OSSConstant;

/**
 * 文件上传Factory
 * 
 * @author : Fredia
 * @since : 2018年3月16日
 * @version : v1.0.0
 */
@Component
public class OSSFactory {
	@Autowired
	private CloudStorageConfig config;

	public CloudStorageService build() {
		if (config.getType().equals(OSSConstant.TYPE_QINIU)) {
			return new QiniuCloudStorageService(config);
		} else if (config.getType().equals(OSSConstant.TYPE_ALIYUN)) {
			return new AliyunCloudStorageService(config);
		} else if (config.getType().equals(OSSConstant.TYPE_QCLOUD)) {
			return new QcloudCloudStorageService(config);
		}
		return null;
	}

}
